/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package co.uniminuto.park.controlador;

import co.uniminuto.park.clases.Estacionamiento;
import co.uniminuto.park.clases.Geolocalizacion;
import co.uniminuto.park.clases.Roles;
import co.uniminuto.park.clases.Usuario;
import co.uniminuto.park.dao.consultarRolDao;
import co.uniminuto.park.dao.consultarUsuarioDao;
import co.uniminuto.park.dao.consultarrEstacionamientoDao;
import co.uniminuto.park.dao.insertarEstacionamientoDao;
import co.uniminuto.park.dao.insertarUsuarioDao;
import java.util.ArrayList;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.bean.SessionScoped;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;
import org.bson.types.ObjectId;
import org.primefaces.event.RowEditEvent;
import org.primefaces.model.map.DefaultMapModel;
import org.primefaces.model.map.LatLng;
import org.primefaces.model.map.MapModel;
import org.primefaces.model.map.Marker;

/**
 *
 * @author Esteban Rozo
 */
@ManagedBean
@ViewScoped
public class actualizarUsuario {
private Usuario user;
private List<Usuario> listaUser;
private Roles rol;
private String id;


    public List<Usuario> getListaUser() {
        return listaUser;
    }

    public void setListaUser(List<Usuario> listaUser) {
        this.listaUser = listaUser;
    }



    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }


   



    public Roles getRol() {
        return rol;
    }

    public void setRol(Roles rol) {
        this.rol = rol;
    }



    public Usuario getUser() {
        return user;
    }

    public void setUser(Usuario user) {
        this.user = user;
    }

   

    
    private EstacionamientosLista getElementoApplication() {
        FacesContext cont = FacesContext.getCurrentInstance();
        return cont.getApplication().evaluateExpressionGet(cont, "#{elementoApplication}", EstacionamientosLista.class);
    }

    public actualizarUsuario() {
        listaUser= new ArrayList<Usuario>();
        listaUser=cargarUsuario();
        user= new Usuario();
        id= "";
    }

    
    public void addMessage(FacesMessage message) {
        FacesContext.getCurrentInstance().addMessage(null, message);
    }

    public List<Usuario> cargarUsuario(){
    List<Usuario> lista;
    consultarUsuarioDao con = new  consultarUsuarioDao();
    lista= con.getUsuarios();
    return lista;
    }

   public void onEdit(RowEditEvent event) { 
       insertarUsuarioDao in= new insertarUsuarioDao();
    
       this.user=(Usuario)event.getObject();
       in.insertaUsuario(this.user);
       FacesMessage msg = new FacesMessage("Actualizado", ((Usuario) event.getObject()).getNombre());  
  
        FacesContext.getCurrentInstance().addMessage(null, msg);  
    }  
      
    public void onCancel(RowEditEvent event) {  
       FacesMessage msg = new FacesMessage("Car Cancelled", ((Usuario) event.getObject()).getNombre());  
  
        FacesContext.getCurrentInstance().addMessage(null, msg);  
    }  
        
    
}
